package com.liao.cloudstorage.controller;


import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author liao
 * @since 2019-04-24
 */
@RestController
@RequestMapping("/api")
@Api(tags = "1.0", description = "存储桶操作", value = "存储桶操作")
public class BucketRestController {
    @GetMapping("/token/buckets")
    @ApiOperation(value = "获取指定token下的所有存储桶")
    public Object getAllBucketsForToken(String token) {
        return null;
    }

    @GetMapping("/ass/buckets")
    @ApiOperation(value = "获取指定ACCESSKEY与SECRETACCESSKEY下的所欲存储桶")
    public Object getAllBucketsForAccess(String accessKey, String secretacessKey) {
        return null;
    }

    @GetMapping("/header/buckets")
    @ApiOperation(value = "获取实现设定header的所有存储桶")
    public Object getAllBucketsForAccess() {
        return null;
    }


    @PostMapping("/token/bucket")
    @ApiOperation(value = "创建指定token下的存储桶")
    public Object createBucketForToken(String token, String bucketName) {
        return null;
    }

    @PostMapping("/ass/bucket")
    @ApiOperation(value = "创建指定ACCESSKEY与SECRETACCESSKEY下的所欲存储桶")
    public Object createBucketForAccess(String accessKey, String secretacessKey, String bucketName) {
        return null;
    }

    @PostMapping("/header/buckets")
    @ApiOperation(value = "创建实现设定header的存储桶")
    public Object createBucketForAccess(String bucketName) {
        return null;
    }

    @DeleteMapping("/token/bucket")
    @ApiOperation(value = "删除指定token下的存储桶")
    public Object deleteBucketForToken(String token, String bucketName) {
        return null;
    }

    @DeleteMapping("/ass/bucket")
    @ApiOperation(value = "删除指定ACCESSKEY与SECRETACCESSKEY下的所欲存储桶")
    public Object deleteBucketForAccess(String accessKey, String secretacessKey, String bucketName) {
        return null;
    }

    @DeleteMapping("/header/buckets")
    @ApiOperation(value = "删除实现设定header的存储桶")
    public Object deleteBucketForAccess(String bucketName) {
        return null;
    }

}
